package com.itlong.cloud.operate.dao;

import com.itlong.cloud.POJO.VO.operate.OperateAdImgVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <desc>
 *      运营-运营管理-广告图片数据访问接口。
 * <desc/>
 *
 * @createDate 2017/10/16.
 */
@Mapper
@Repository
public interface IOperateAdImgDao {

    /**
     * <desc>
     *      保存广告图片链接信息。
     * <desc/>
     *
     * @param  params
     * @return 返回影响函数
     * @author shengen.T
     * @createDate 2017/10/11
     */
    Integer save(Map<String,Object> params);

    /**
     * <desc>
     *      删除广告图片链接信息。
     * <desc/>
     *
     * @param  adId
     * @return  返回影响行数
     * @author shengen.T
     * @createDate 2017/10/17
     */
    Integer delete(String adId);

     /**
      * <desc>
      *      根据广告ID获取图片信息列表。
      * <desc/>
      *
      * @param adId 广告ID
      * @return
      * @author shengen.T
      * @createDate 2017/10/18
      */
    List<OperateAdImgVO> getImgInfoList(@Param("adId")String adId);

    /**
     * <desc>
     *      获取最新已发布广告图片列表
     * <desc/>
     *
     * @param projectId 项目id
     * @param type 广告类型（1主页，2服务页，3物业服务页）
     * @param maxCount 最新广告列表最大值
     * @param publishPlatform 发布平台（1APP，2小程序）
     * @return
     * @author Chunjian.G
     * @createDate 2017-11-08
     */
    List<OperateAdImgVO> getProjectAdImgs(@Param("projectId") String projectId,
                                          @Param("type") Integer type,
                                          @Param("nowTime") Date nowTime,
                                          @Param("maxCount") Integer maxCount,
                                          @Param("publishPlatform") Integer publishPlatform);

     /**
      * <desc>
      *      批量删除广告图片关系表。
      * <desc/>
      *
      * @param adIds
      * @return
      * @author shengen.T
      * @createDate 2017-12-09
      */
    Integer deleteBatch(@Param("adIds") String[] adIds);
}
